home *** CD-ROM | disk | FTP | other *** search
- // Department.m
- //
- // Created on Wed Feb 15 09:50:50 GMT-0800 1995 by NeXT EOModeler.app Version 77
-
- #import "Department.h"
- #import "Employee.h"
-
- @implementation Department
-
- - (Employee *)lowestPaidEmployee
- // return the lowest paid employee. We might want to do this via a query too
- {
- // the server rather than by traversing the objects here...
- NSEnumerator *emps = [toEmployees objectEnumerator];
- Employee *emp, *lowestEmp = nil;
- while (emp = [emps nextObject]) {
- if (!lowestEmp || ([emp salary] < [lowestEmp salary]))
- lowestEmp = emp;
- }
- return lowestEmp;
- }
-
- - (NSString *)validateEmployee:(Employee *)emp
- {
- // Lets say no employee can make more than 10 times the lowest paid
- // employee in his or her department
- Employee *lowest = [self lowestPaidEmployee];
- double limit = [lowest salary] * 10.0;
-
- if ([emp salary] > limit)
- return [NSString stringWithFormat:@"Salary exceeds departmental limit of %.2f", limit];
- return nil;
- }
-
- - (void)dealloc
- {
- [departmentName autorelease];
- [toEmployees autorelease];
- [super dealloc];
- }
-
- @end
-